From 83247542339ad831ac4d5e7952dda1b6b6ed5984 Mon Sep 17 00:00:00 2001 From: robertlipe Date: Fri, 26 Jul 2013 03:16:29 +0000 Subject: [PATCH] Remove some of our stranger time shims. --- gpsbabel/defs.h | 4 ++-- gpsbabel/ggv_log.cc | 3 ++- gpsbabel/gopal.cc | 3 ++- gpsbabel/src/core/datetime.h | 10 ---------- gpsbabel/trackfilter.cc | 12 ++++++++---- gpsbabel/unicsv.cc | 2 +- gpsbabel/waypt.cc | 2 +- 7 files changed, 16 insertions(+), 20 deletions(-) diff --git a/gpsbabel/defs.h b/gpsbabel/defs.h index 28529ea71..f768e14f9 100644 --- a/gpsbabel/defs.h +++ b/gpsbabel/defs.h @@ -529,7 +529,7 @@ public: } void SetCreationTime(gpsbabel::DateTime t) { creation_time = t; } - void SetCreationTime(time_t t) { creation_time = t; + void SetCreationTime(time_t t) { creation_time = QDateTime::fromTime_t(t); } void SetCreationTime(time_t t, int ms) { creation_time.setTime_t(t); @@ -608,7 +608,7 @@ typedef struct { double avg_hrt; /* Avg Heartrate */ double avg_cad; /* Avg Cadence */ time_t start; /* Min time */ - time_t end; /* Max time */ + time_t end; /* Max time */ int min_hrt; /* Min Heartrate */ int max_hrt; /* Max Heartrate */ int max_cad; /* Max Cadence */ diff --git a/gpsbabel/ggv_log.cc b/gpsbabel/ggv_log.cc index 6fc5de89d..185f9b2d7 100644 --- a/gpsbabel/ggv_log.cc +++ b/gpsbabel/ggv_log.cc @@ -224,7 +224,8 @@ ggv_log_track_head_cb(const route_head* trk) lonsec = 60.0 * (lonmin - floor(lonmin)); if (wpt->creation_time > 0) { - tm = *gmtime(&wpt->GetCreationTime()); + time_t t = wpt->GetCreationTime().toTime_t(); + tm = *gmtime(&t); tm.tm_mon += 1; tm.tm_year += 1900; } else { diff --git a/gpsbabel/gopal.cc b/gpsbabel/gopal.cc index 48778475f..c3f305086 100644 --- a/gpsbabel/gopal.cc +++ b/gpsbabel/gopal.cc @@ -237,7 +237,8 @@ gopal_read(void) wpt->creation_time = tx+((((time_t)tm.tm_hour * 60) + tm.tm_min) * 60) + tm.tm_sec; wpt->creation_time = wpt->creation_time.addMSecs(millisecs); if (global_opts.debug_level > 1) { - strftime(tbuffer, sizeof(tbuffer), "%c", gmtime(&wpt->creation_time)); + time_t t = wpt->GetCreationTime().toTime_t(); + strftime(tbuffer, sizeof(tbuffer), "%c", gmtime(&t)); printf("parsed timestamp: %s\n",tbuffer); } break; diff --git a/gpsbabel/src/core/datetime.h b/gpsbabel/src/core/datetime.h index 2e0f97f4e..0ca7322e8 100644 --- a/gpsbabel/src/core/datetime.h +++ b/gpsbabel/src/core/datetime.h @@ -40,7 +40,6 @@ public: // being 1/1/1970. DateTime() { setTime_t(0); - t_ = -1; } DateTime(QDate date, QTime time) : QDateTime(date, time) {} @@ -59,12 +58,6 @@ public: return toTime_t(); } - // Handle tm = *gmtime(&wpt->creation_time) ...poorly. - inline const time_t *operator&() { - t_ = toTime_t(); - return &t_; - } - // Integer form: YYMMDD int ymd() const { QDate d(date()); @@ -107,9 +100,6 @@ public: } return toUTC().toString(format); } - -private: - time_t t_; }; } // namespace gpsbabel diff --git a/gpsbabel/trackfilter.cc b/gpsbabel/trackfilter.cc index 4731b42eb..cf4f25b2d 100644 --- a/gpsbabel/trackfilter.cc +++ b/gpsbabel/trackfilter.cc @@ -425,7 +425,8 @@ trackfilter_pack_init_rte_name(route_head *track, const time_t default_time) tm = *localtime(&default_time); } else { wpt = (waypoint *) QUEUE_FIRST((queue *)&track->waypoint_list); - tm = *localtime(&wpt->creation_time); + time_t t = wpt->GetCreationTime().toTime_t(); + tm = *localtime(&t); } strftime(buff, sizeof(buff), opt_title, &tm); } else { @@ -692,9 +693,12 @@ trackfilter_split(void) if ((opt_interval == 0) && (opt_distance == 0)) { struct tm t1, t2; +// FIXME: This whole function needs to be reconsidered for arbitrary time. + time_t tt1 = buff[i]->GetCreationTime().toTime_t(); + time_t tt2 = buff[j]->GetCreationTime().toTime_t(); - t1 = *localtime(&buff[i]->creation_time); - t2 = *localtime(&buff[j]->creation_time); + t1 = *localtime(&tt1); + t2 = *localtime(&tt2); new_track_flag = ((t1.tm_year != t2.tm_year) || (t1.tm_mon != t2.tm_mon) || (t1.tm_mday != t2.tm_mday)); @@ -1113,7 +1117,7 @@ trackfilter_faketime(void) /* returns number of track points left af waypoint *wpt = (waypoint *)elem; if (opt_faketime != 0 && (wpt->creation_time == 0 || faketime.force)) { - wpt->creation_time = faketime.start; + wpt->creation_time = QDateTime::fromTime_t(faketime.start); faketime.start += faketime.step; } } diff --git a/gpsbabel/unicsv.cc b/gpsbabel/unicsv.cc index 8b94a67d1..dcb4487d4 100644 --- a/gpsbabel/unicsv.cc +++ b/gpsbabel/unicsv.cc @@ -1368,7 +1368,7 @@ unicsv_waypt_enum_cb(const waypoint *wpt) if (wpt->hasLink()) { gb_setbit(&unicsv_outp_flags, fld_url); } - if (wpt->creation_time != 0) { + if (wpt->creation_time.isValid()) { gb_setbit(&unicsv_outp_flags, fld_time); if (wpt->creation_time >= SECONDS_PER_DAY) { gb_setbit(&unicsv_outp_flags, fld_date); diff --git a/gpsbabel/waypt.cc b/gpsbabel/waypt.cc index 0716c44fc..8dc79cfa6 100644 --- a/gpsbabel/waypt.cc +++ b/gpsbabel/waypt.cc @@ -660,7 +660,7 @@ waypt_empty_gc_data(const waypoint *wpt) QString waypoint::CreationTimeXML() const { - if (creation_time == 0) { + if (!creation_time.isValid()) { return NULL; } -- 2.30.2